﻿# 脚本参数定义
param (
    # 指定要使用的 token 名称
    [string]$tokenName,

    # 显示帮助信息
    [switch]$Help
)

# 帮助说明函数
function Show-Help {
    Write-Host @"

Usage: vibe [tokenName] [-h]

使用指定的 Token 配置启动对应的 AI IDE。

可用 Token 名称:
  kimi      - 启动 kimi-k2 驱动的 Claude Code
  glm       - 启动 glm4.5 驱动的 Claude Code
  any       - 启动 any router 驱动的 Claude Code
  gemi      - 启动 Gemini CLI

选项:
  -h        - 显示此帮助信息并退出。

示例:
  vibe gemi         # 启动 Gemini CLI
  vibe kimi         # 使用 kimi-k2 启动 Claude Code
  vibe -h           # 显示帮助说明

"@
}

# 如果用户使用了 -h 参数，则显示帮助并退出
if ($Help.IsPresent) {
    Show-Help
    exit 0
}

# 如果没有提供 tokenName，则提示错误并退出
if ([string]::IsNullOrEmpty($tokenName)) {
    Write-Host "❌ 未提供 Token 名称。"
    Show-Help
    exit 1
}

# 设置控制台输出编码
$OutputEncoding = [Console]::OutputEncoding = [Text.Encoding]::UTF8

# 根据 tokenName 设置环境变量
switch ($tokenName) {
    "kimi" {
        $env:ANTHROPIC_AUTH_TOKEN = "sk-xxxx" 
		$env:ANTHROPIC_BASE_URL = "https://api.moonshot.cn/anthropic"
    }
    "glm" {
        $env:ANTHROPIC_API_KEY = "73xxxx"
		$env:ANTHROPIC_BASE_URL = "https://open.bigmodel.cn/api/anthropic"
    }
    "any" {
        $env:ANTHROPIC_AUTH_TOKEN = "sk-xxxx"
		$env:ANTHROPIC_BASE_URL = "https://anyrouter.top"
    }
    "gemi" {
        # 为 Gemini 设置环境变量     
		# $env:GEMINI_API_KEY = "sk-xxxx"		
    }
    default {
        Write-Host "❌ 无效的 token 名称: '$tokenName'"
        Show-Help
        exit 1
    }
}

# 根据 tokenName 启动不同的程序
if ($tokenName -eq "gemi") {
    Write-Host "✅ 启动 Gemini CLI..."
    # 假设 gemini 是一个在系统 PATH 中或当前目录下的可执行程序
    gemini
}
else {
    # 根据不同的 tokenName 打印不同结果
    #kimi  - 启动 kimi-k2 驱动的 Claude Code
    #glm   - 启动 glm4.5 驱动的 Claude Code
    #any   - 启动 any router 驱动的 Claude Code
    #gemi  - 启动 Gemini CLI
    switch ($tokenName) {
        "kimi" {
            Write-Host "✅ 使用 kimi-k2 启动 Claude Code..."
        }
        "glm" {
            Write-Host "✅ 使用 glm4.5 启动 Claude Code..."
        }
        "any" {
            Write-Host "✅ 使用 any router 启动 Claude Code..."
        }
    }
    
    # 假设 claude 是一个在系统 PATH 中或当前目录下的可执行程序
    claude
}